package cn.iocoder.yudao.module.orderview.mq.producer;

import cn.iocoder.yudao.module.orderview.mq.message.OrderViewTaskMessage;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * OrderView 订单视图任务相关消息的 Producer
 *
 * @author 徐煜东
 * @since 2025/6/1 16:35
 */
@Slf4j
@Component
public class OrderViewTaskProducer {

    @Resource
    private RocketMQTemplate rocketMQTemplate; // 重点：注入 RocketMQTemplate 对象

    /**
     * 发送 {@link OrderViewTaskMessage} 消息
     *
     * @param requestId 请求ID
     * @param productId 产品ID
     */
    public void sendOrderViewTaskMessage(String requestId,Long productId) {
        OrderViewTaskMessage message = new OrderViewTaskMessage().setRequestId(requestId).setProductId(productId);
        rocketMQTemplate.syncSend(OrderViewTaskMessage.TOPIC, message); // 重点：使用 RocketMQTemplate 同步发送消息
    }

}
